/*
 * SoyWindowClass.h
 *
 *  Created on: 2012-10-20
 *      Author: yangentao@gmail.com
 */

#ifndef SOYWINDOWCLASS_H_
#define SOYWINDOWCLASS_H_

#include "headers.h"

LPCTSTR getSoyWindowClassName(bool withDoubleClick);
void registerSoyWindowClass();
void unregisterSoyWindowClass();

class WindowClass {
public:
	WNDCLASSEX classEx;
	ATOM atom;
public:
	WindowClass();
	virtual ~WindowClass();
public:
	//use XWndProc
	void createClass(LPCTSTR className);
	void createClass(LPCTSTR className, WNDPROC wndPRoc);
	void createClass(LPCTSTR className, WNDPROC wndPRoc, UINT iconResID, UINT iconSmallResID, UINT menuResID);
	bool registerClass();
	void unregisterClass();
	bool isRegistered();
};

#endif /* SOYWINDOWCLASS_H_ */
